/**
 * Created with IntelliJ IDEA.
 * Description:用筛选法求n以内的素数。筛选法求解过程为：将2~n之间的正整数放在数组内存储，
 * 将数组中2之后的所有能被2整除的数清0，再将3之后的所有能被3整除的数清0 ，以此类推，直到n为止。数组中不为0 的数即为素数。
 * 输入描述：多组输入，每行输入一个正整数（不大于100）。
 * 输出描述：针对每行输入的整数n，输出两行，第一行，输出n之内（包括n）的素数，用空格分隔，
 * 第二行，输出数组中2之后被清0 的个数。每行输出后换行。
 * 输入：20
 * 输出：2 3 5 7 11 13 17 19
 *     11
 *
 * User: zjc
 * Date: 2022-06-05
 * Time: 23:29
 */
import java.util.Arrays;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int k = 0;
        int[] primes = new int[105];
        int[] st = new int[105];
        Arrays.fill(st, 0);
        for(int i = 2; i <= n; i++){
            if(st[i] == 0){
                primes[k++] = i;
                for(int j = i+i; j <= n; j+=i){
                    st[j] = 1;
                }
            }
        }
        for(int i = 0; i < k; i++){
            System.out.print(primes[i]+" ");
        }
        System.out.println();
        System.out.println(n-k-1);
    }

}
